package com.quanxiaoha.weblog.common.service;

import com.quanxiaoha.weblog.common.domain.entity.ScheduleHabit;
import com.baomidou.mybatisplus.extension.service.IService;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.quanxiaoha.weblog.common.domain.query.HabitCountQuery;
import com.quanxiaoha.weblog.common.domain.query.HabitQuery;

/**
 * <p>
 *  服务类
 * </p>
 *
 * @author Roy
 * @since 2025-05-28
 */
public interface IScheduleHabitService extends IService<ScheduleHabit> {

    /**
     * 获取习惯列表
     */
    Page<ScheduleHabit> getHabitList(HabitQuery habitQuery);

    /**
     * 获取习惯详情
     */
    ScheduleHabit getHabitDetail(Integer id);

    /**
     * 新增习惯
     */
    void createHabit(ScheduleHabit habit);

    /**
     * 更新习惯
     */
    void updateHabit(ScheduleHabit habit);

    /**
     * 删除习惯
     */
    void deleteHabit(Integer id);

    /**
     * 更新完成数量
     */
    String updateCompletedCount(HabitCountQuery query);


    void initToday();

}
